/*
 * ListaAgregación.h
 *
 *  Created on: Jun 7, 2012
 *      Author: lucasj
 */

#ifndef LISTAAGREGACION_H_
#define LISTAAGREGACION_H_

#include <list>
#include <sstream>

namespace ResAggregation {
class AgregacionResultado {
private:
	int valor;
	int posHecho;
public:
	void setElem(int valor, int posHecho);
	int getValor(void);
	int getPosHecho(void);
};
}

typedef std::list<ResAggregation::AgregacionResultado>::iterator iteradorLista;

namespace AggregationList {

class ListaAgregacion {
private:
	std::list<ResAggregation::AgregacionResultado> lista;
public:
	ListaAgregacion();
	virtual ~ListaAgregacion();
	void setElem(int suma, int posHecho);
	friend std::ostringstream& operator<<(std::ostringstream& oss,
					  ListaAgregacion &lista);
};
std::ostringstream& operator<<(std::ostringstream& oss, ListaAgregacion &lista);

}
#endif
